package com.example.bigdata.scala.tryCatch

object tryDemo {
    def main(args: Array[String]): Unit = {

    }

    def try01(): Unit =
    {
        try {
            val sss = "sdsdf"
        } finally{
            println("This will always be printed")
        }
    }

    def tryCatchDemo(): Unit =
    {
        /**
          * try/catch在Scala是一个表达式，导致一个值。
          * Scala中的异常可以在catch块中进行模式匹配，而不是为每个不同的异常提供单独的catch子句。
          * 因为Scala中的try/catch是一个表达式，所以可以在try / catch中包装调用，并在调用失败时分配默认值。
          * 以下代码显示了具有模式匹配catch块的基本try/catch表达式。
          */
        try {
            val s = "asd"
        } catch {
            case e:java.io.IOException =>  // handle io exception
            case n:NullPointerException => // handle null pointer
        }
    }

}
